@大麻哈
2年前 提问
1个回答

API安全网关具有哪些功能

上官雨宝
2年前

API安全网关具有以下功能:

  • 安全认证:若用户在控制台配置了某个应用需要进行安全认证,网关在接收到该应用的请求时,就会进行基于签名的安全认证,称为App认证。App认证会根据请求的内容,使用应用的密钥进行签名。可以在控制台进行查询得知参与签名的内容包括请求的路径(Path)、请求参数(Query String)、网关需要的请求头(Header)、调用方自定义的请求头以及请求体(Body)。

  • 授权检测:调用方基于应用来调用API,发送请求到网关时需要传递请求头AppId,网关会根据请求中的AppId来判断该请求调用的API是否被授权,如果未被授权,则网关会拒绝该请求,返回报错信息。服务方可以在网关控制台授权API给应用App,调用方也可以通过购买来获得API

  • 访问控制:服务方可以对API设置访问控制,仅允许部分网段的请求,或者拒绝部分网关的请求。当服务方对某API配置了访问控制,网关运行态在接收到该API的请求时,会判断该请求的源IP地址,并根据服务方配置的访问控制策略来判断是否接收该请求的调用,如果不接收,则会拒绝该调用,并返回报错信息。

  • 参数映射:服务方可以对API输入输出参数进行定义,从而控制网关对请求的参数映射。当网关运行态接收到配置了参数映射的API的请求时,会对请求的输入参数进行检测,包括必填项检测以及类型检测。网关在转发请求给服务方之前,会根据输出参数的定义,修改请求的参数,包括入参映射以及常量映射。的调用权限。

  • 后端签名:安全认证可以保证调用方发给网关的请求安全,但是如果网关到服务端之间的网关是不可靠的,那么网关转发请求给服务方时,请求仍然可能被篡改。如果要保证网关转发给服务方的请求安全,服务方可以配置后端签名,当网关接收到配置了后端签名的API请求时,网关会按照类似安全认证中描述的方式计算签名,放入请求头中,再转发给服务方。服务方接收到网关转发的请求后,可以将计算的签名和网关计算的签名进行比较,从而判断请求是否被篡改,进行身份验证。

  • 路由转发:当网关根据服务方的配置处理完请求后,将请求转发给服务方。当网关接收到服务方返回的响应后,进行调用统计等处理后就会将响应转发给调用方,从而完成请求的调用。

  • 流量控制:服务方可以配置流量控制,多维度控制API在单位时间内的调用次数。流量控制范围可基于API设定单位时间内调用次数,也可基于用户设定单位时间内调用API次数,还可基于应用App设定单位时间内调用次数。时间单位包括秒、分钟,小时、天。

  • 调用统计:网关运行态会对请求的调用情况进行统计,包括是否成功以及是否需要计费。这些统计信息可以在网关控制态查询看到,从而了解API的调用情况,分析API的稳定性和调用量。